Electronic systems and circuits are often utilized in a number of scenarios to achieve advantageous results. Numerous electronic technologies such as computers, video equipment, and communication systems facilitate increased productivity and cost reduction in analyzing and communicating information in most areas of business, science, education and entertainment. Frequently, these activities involve storage of vast amounts of information and it is usually important that the storage of the information is accurate and reliable. Traditional storage management approaches can often have limited flexibility and success in maintaining accuracy and reliability, especially in environments that include virtual machines.
Some traditional approaches to maintaining accuracy involve an ID that is dependent upon physical components in a communication connection or link. However, as virtualization becomes more prevalent, there are often scenarios where two virtual machines share the same physical components in a communication connection or link to a shared storage resource (e.g., Initiate-Target link, physical adapter (initiator) for connection to the storage, etc.). The communication connection or link can fail or can be changed if the virtual machine migrates to another physical server. Traditional SCSI-3 based input/output (I/O) fencing attempts at data corruption protection cannot typically be used for I/O fencing in a situation where a link fails or is changed. In a typical traditional approach when a link fails or is changed the virtual machines usually no longer have a unique ID with which they can register with the storage to get shared access.
In attempting to achieve I/O fencing (e.g., protection from data corruption in case of failure of cluster heart-beat, etc.) some traditional approaches attempted to use SCSI-3 Persistent Reservations which require each participating host to have a unique set of initiator IDs registered with the target storage device. When one of the nodes is removed from the cluster, its key is removed from the reservation set so that it could no longer issue an I/O to the storage device. In one conventional approach, an end port ID virtualization (NPIV) provides an alternative where a unique virtual adapter and thus initiator ID is granted to each virtual machine but this is restricted to the number of virtual adapters that a given physical adapter can support. In addition, the end-switches typically need to be NPIV aware and the identity is yet again assigned to the connection or link with the storage and hence can change depending on how the host accesses the storage. If multiple adapters are used then all typically have to be SCSI-3 PR registered with the storage device, usually leading to complicated and cumbersome reservation management.